iT邦幫忙

2022 iThome 鐵人賽

DAY 22
0

第一個輸入意義為選擇三種圖形:
1 三角形方尖方面向右邊
2 三角形方尖方面向左邊
3 菱形

第二個輸入意義為畫幾行
(奇數,範圍為 3,5,7,9,....,21)

input
1 (第一種圖形,三角形尖方面向右邊)
9 (共 9 行)

output
*
**






**
*

input
2 (第二種圖形,三角形尖方面向左邊)
5 (共 5 行)

output
..*
.**


.**
..*

input
3 (第三種圖形: 菱形 )
3 (共 3 行數)

輸出
.*


.*

#include <stdio.h>
int p1(int n){
    int i=1;
    for(i=1;i<=n;i++){
        printf("*");
    }
}
int p2(int n){
    int i=1;
    for(i=n;i>=1;i--){
        printf("*");
    }
}
int p3(int n){
    int i;
    for(i=n/2;i>=1;i--){
        printf(".");
    }
}
int p4(int n){
    int i=1;
    for(i=1;i<=n;i++){
        printf("*");
    }
}
int p5(int n){
    int i;
    for(i=1;i<=n;i++){
        printf(".");
    }
}
int p6(int n){
    int i;
    for(i=n;i>=1;i--){
        printf("*");
    }
}int p7(int n){
    int i;
    for(i=n;i>=1;i--){
        printf("*");
    }
}
int p8(int n){
    int i;
    for(i=n;i>=1;i--){
        printf("*");
    }
}
int main(){
    int chose,n,i,j,k,b;
    scanf("%d",&chose);
    scanf("%d",&n);
    if(chose==1 && n%2!=0 && n>=3 && n<=21){
        for(i=1;i<=n/2+1;i++){
            p1(i);
            printf("\n");
        }
        for(j=n/2;j>=1;j--){
            p2(j);
            printf("\n");
        }
    }
    else if(chose==2 && n%2!=0 && n>=3 && n<=21){
        j=1,b=n/2;
        for(i=n;i>=1;i-=2){
            p3(i);
            p4(j);
            printf("\n");
            j++;
        }
        for(k=1;k<=n/2;k++){
            p5(k);
            p6(b);
            printf("\n");
            b--;
        }
    }
    else if(chose==3 && n%2!=0 && n>=3 && n<=21){
        k=1,b=n;
        for(i=n;i>=1;i-=2){
            p3(i);
            p7(k);
            k+=2;
            printf("\n");
        }
        for(k=1;k<=n/2;k++){
            p5(k);
            b-=2;
            p8(b);
            printf("\n");

        }
    }
}


上一篇
[Day21]線段計算
下一篇
[Day23]找出規律-2
系列文
環島C一下自己的人生24
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言